Comparative analysis of protein structures

Using the bio3d package.

library(bio3d)
pdb <- read.pdb("1hel")
##   Note: Accessing on-line PDB file
pdb
## 
##  Call:  read.pdb(file = "1hel")
## 
##    Total Models#: 1
##      Total Atoms#: 1186,  XYZs#: 3558  Chains#: 1  (values: A)
## 
##      Protein Atoms#: 1001  (residues/Calpha atoms#: 129)
##      Nucleic acid Atoms#: 0  (residues/phosphate atoms#: 0)
## 
##      Non-protein/nucleic Atoms#: 185  (residues: 185)
##      Non-protein/nucleic resid values: [ HOH (185) ]
## 
##    Protein sequence:
##       KVFGRCELAAAMKRHGLDNYRGYSLGNWVCAAKFESNFNTQATNRNTDGSTDYGILQINS
##       RWWCNDGRTPGSRNLCNIPCSALLSSDITASVNCAKKIVSDGNGMNAWVAWRNRCKGTDV
##       QAWIRGCRL
## 
## + attr: atom, xyz, seqres, helix, sheet,
##         calpha, remark, call

Let’s use a bioinformatics method called NMA (Normal Mode Analysis) to predict the dynamics (flexibility) of this enzyme.

modes <- nma(pdb)
##  Building Hessian...     Done in 0.055 seconds.
##  Diagonalizing Hessian...    Done in 0.204 seconds.
plot(modes)

Make a “move” of its predicted motion. We often call this a “trajectory”.

mktrj(modes, file="nma.pdb")